1. Field Of The Invention
The invention relates generally to data processing systems and, more particularly, to digital storage apparatus for such systems.
2. Description Of The Prior Art
The performance of conventional data processing systems is largely determined by the digital storages in which the programs and the data to be processed are contained. Ideally, a digital storage should have a very high capacity, a very short access time, a very high data rate for reading and writing, and a price which is as favorable as possible. In reality, these requirements cannot be simultaneously met for any particular storage type; fast storages, as bipolar technology affords, for example, are relatively expensive, whereas cheap storages are generally slow. With all of the known storage types a drop in speed is encountered if the total capacity of a storage system is increased.
To eliminate these difficulties, a wide variety of proposals have been made and realized, such as combining storages of different technologies and characteristics in one storage system, in order to improve its characteristics in the required manner. Examples of such storage systems may be found in what is known as virtual addressing where the fast main storage of a data processing system contains only the respective current data, while the data not needed are stored in disk storages; a further example are so called buffer storage architectures (cache systems), wherein between the main storage and the processor of a data processing system a fast buffer storage is provided which is administered fully automatically and which contains in each case the current data and instructions. Further examples of improving the performance of a data processing system by different storage types are the use of so called local storages in a processor (for accommodating registers or intermediate results) or the connection of different storage types to a common storage bus.
The design of such storage hierarchies requires relatively many control circuits and a relatively high degree of internal administration, so that their use is contemplated only for a high total capacity. An inherent disadvantage of such hierarchies is that the data contained in one storage are partly duplicated in another, so that a certain percentage of the total capacity of the storage system is not effectively utilized. In addition, the effectiveness of many storage hierarchies is not fully satisfactory, as not all performance deficiencies of a storage type can be readily remedied. Cache systems, for example, call for a main storage which is fast to access during block transfer, so that in the case of a miss occurring in a cache storage, the desired data can be rapidly transferred from the main storage to the processor (and simultaneously to the cache); in addition, a very high data rate is required for rapidly loading the cache storage. With the large main storages (up to several megabytes) used for up-to-date cache systems, it is essential to have a main storage which is as cheap as possible to manufacture.